package com.css.fxfzfxqh.modules.buildings.probabilityEvaluation.economicLossPE.service;

import com.css.fxfzfxqh.modules.buildingKilometerGrid.exceptions.BizException;
import com.css.fxfzfxqh.modules.buildings.calculationTasks.entity.CalculationTasks;
import com.css.fxfzfxqh.modules.buildings.definitiveEvaluation.casualtiesDE.entity.Statistics;
import com.css.fxfzfxqh.modules.buildings.definitiveEvaluation.resistEarthquakesDE.param.AssessParam;
import com.css.fxfzfxqh.modules.buildings.probabilityEvaluation.economicLossPE.entity.EconomicLossPD;
import com.css.fxfzfxqh.modules.buildings.probabilityEvaluation.economicLossPE.entity.EconomicLossPDCalculation;
import com.css.fxfzfxqh.modules.buildings.probabilityEvaluation.economicLossPE.param.EconomicLossPECalculationParam;
import com.css.fxfzfxqh.modules.singleIndexRiskZoning.model.entity.FxqhAssessPdQhResult;

import javax.servlet.http.HttpServletResponse;
import java.io.InputStream;
import java.io.UnsupportedEncodingException;
import java.util.List;
import java.util.Map;

public interface EconomicLossPDService {
    void addAssess(EconomicLossPD param);

    EconomicLossPD findById(String id);

    void upDateAssess(EconomicLossPD param);

    String getCode(EconomicLossPD param);

    Map<String, Object> getPage(int curPage, int pageSize, AssessParam param);

    void calculation(Map<String, Object> param) throws Exception;

    String reportImport(InputStream inputStream, String type, String id,String years,String code);

    void exportData(HttpServletResponse response, EconomicLossPECalculationParam param);

    Map<String, Object> queryCalculation(int curPage, int pageSize, String id, String years);

    void updateCorrectionValue(EconomicLossPDCalculation param);

    List<FxqhAssessPdQhResult> doZoning(CalculationTasks calculationTasks) throws Exception;

    List<Statistics> statistics(String taskId);
}
